回到目錄

02.3-DeepLearning-Loss of Classification

1. Classification as Regression

class 1 是編號1,class2是編號 2,class 3是編號 3,……。希望模型的輸出 y 可以跟 class 的編號越接近越好

問題:

3 個 class 若分別設為1, 2, 3,背後隱含 class 1 跟 class 2 比較相關,class 1 跟 class 3 比較不相關

2. Class as one-hot vector

寫成向量形式,任兩個 class 的距離都相同

產生多個數值

2.1 Classification with softmax

當目標只有 0 跟 1,而 y 有任何值,可使用 softmax 先把它 normalize 到 0 到 1 之間,這樣才好跟 label 計算相似度

經過計算後:

softmax 的輸入,稱作 Logit

二分類問題使用 Sigmoid 與 Softmax 是等價的

2.2 Loss of Classifacation

優化目標:减小 y^\hat{y}yy' 之間的差距 ee

不同的損失函數:MSE, Cross-entropy, …
選擇 cross-entropy,因為比 MSE 更加適用於分類問題!

從優化角度出發進行討論,使用 MSE 時,左上角的位置雖然 Loss 很大,但梯度平坦,難以優化;而 Cross-entropy 則更容易收斂 ⇒ 改變 Loss function,也會影響訓練的過程

問題類型最後一層激勵函數損失函數
二分類問題sigmoidbinary_crossentropy
多分類、單標籤問題softmaxcategorical_crossentropy
多分類、多標籤問題sigmoidbinary_crossentropy
回歸到任一值MSE/RMSE
回歸到 0~1 範圍內的值sigmoidMSE 或 binary_crossentropy

3. To Learn More

數學證明:

http://speech.ee.ntu.edu.tw/~tlkagk/courses/MLDS_2015_2/Lecture/Deep More (v2).ecm.mp4/index.html